namespace AndyPike.Unfuddle.Contracts
{
    /// <summary>
    /// Request to the Unfuddle API are made using four standard HTTP methods, each one carrying a specific connotation
    /// </summary>
    public enum HttpMethod
    {
        /// <summary>
        /// Considered a "safe" method as any requests to the Unfuddle API with an HTTP GET are non-volatile and will not change any values within your Unfuddle account.
        /// </summary>
        GET,

        /// <summary>
        /// Generally used when creating a new object on a collection.
        /// </summary>
        POST,

        /// <summary>
        /// Used to update an already existing object.
        /// </summary>
        PUT,

        /// <summary>
        /// Generally used to permanently delete an already existing object within your account. However, there are circumstances where a DELETE will simply change the state of an object. For example, deleting a Person will actually permanently mark that Person as removed, but they are never actually deleted.
        /// </summary>
        DELETE
    }
}